--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lang/README.de.md v4.7.1-rc.1 (02d14248) Text, 20.23 KB
Reticulum MeshChatX
Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.
Dieses Projekt ist unabhaengig vom originalen Reticulum MeshChat und steht in keiner Verbindung dazu.
• Website: meshchatx.com
• Quellcode: github.com/Quad4-Software/MeshChatX
• Mirror: lavaforge.org/Reticulum-Things/MeshChatX
• Releases: github.com/Quad4-Software/MeshChatX
• Aenderungsprotokoll: CHANGELOG.md
• LXMF: T383838f489752fbef161c64d65e385a4e9fc74
• Umbrel App Store: apps.umbrel.com/app/meshchatx
<a href="https://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/Quad4-Software/MeshChatX"><img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" height="60" alt="Get it on Obtainium"></a>
rngit NomadNet Node: T3838385399f5a0212477618821e91e88ce053b:/page/index.mu
rngit: T383838git clone rns://926baefe13daf5178c174f158dae1b45/quad4/MeshChatX
MeshChatX NomadNet Node: T383838c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu
Wichtige Aenderungen gegenueber Reticulum MeshChat
• Verwendet LXST fuer Anrufe
• Peewee-ORM durch direktes SQL ersetzt
• Axios durch natives T383838fetch ersetzt
• Electron 41.x (mit Node-24-Laufzeit)
• T383838.whl-Pakete mit Webserver und eingebauten Frontend-Assets fuer mehr Deploy-Optionen
• i18n
• PNPM und Poetry fuer Abhaengigkeiten
│ [!WARNING] MeshChatX garantiert keine Datenkompatibilitaet mit aelteren
│ Reticulum-MeshChat-Versionen. Erstellen Sie vor Migration oder Tests eine Datensicherung.
│ [!WARNING] Aeltere Systeme werden noch nicht unterstuetzt. Aktuelle Basis: Python T383838>=3.11 und Node
│ T383838>=24 (Electron 41 entspricht Node 24; T383838engines in T383838package.json und CI folgen derselben Linie).
Voraussetzungen
• Python T383838>=3.11 (aus T383838pyproject.toml)
• Node.js T383838>=24 (aus T383838package.json, Feld T383838engines)
• pnpm T38383811.1.2 (aus T383838package.json, Feld T383838packageManager)
• Poetry (verwendet in T383838Taskfile.yml und CI-Workflows)
Browser Versions Required:
Safari 16.4 oder neuer, Chrome 111 oder neuer, Firefox 128 oder neuer (Web-Oberflaeche).
T282828
task install
task lint:all
task test:all
task build:all
Installationsmethoden
Waehlen Sie die Methode passend zu Umgebung und Paketierung.
┌─────────────────────┬────────────────────┬─────────────────┬─────────────────────────────────────┐
│ Methode │ Frontend enthalten │ Architekturen │ Geeignet fuer │
├─────────────────────┼────────────────────┼─────────────────┼─────────────────────────────────────┤
│ Docker-Image │ Ja │ T383838linux/amd64, T383838l… │ Schnellster Start auf Linux-Servern │
│ Python Wheel (T383838.whl) │ Ja │ Jede Python-un… │ Headless/Webserver ohne Node-Build │
│ Linux AppImage │ Ja │ T383838x64, T383838arm64 │ Portabler Desktop-Einsatz │
│ Debian-Paket (T383838.deb) │ Ja │ T383838x64, T383838arm64 │ Debian/Ubuntu-Installation │
│ RPM-Paket (T383838.rpm) │ Ja │ Vom CI-Runner … │ Fedora/RHEL/openSUSE │
│ Aus Quellcode │ Lokal gebaut │ Host-Architekt… │ Entwicklung und individuelle Builds │
└─────────────────────┴────────────────────┴─────────────────┴─────────────────────────────────────┘
Hinweise:
• GitHub Actions baut getaggte Releases (Linux Wheel/AppImage/deb/rpm, Windows, macOS, Flatpak, Android-APKs bei Tags auf dev/master, SLSA, Entwurfs-Release) in einem Lauf über T383838.github/workflows/build-release.yml; das Container-Image über T383838.github/workflows/docker.yml. Android-CI für Branches und PRs: T383838.github/workflows/android-build.yml.
• Linux T383838x64 und T383838arm64 AppImage + DEB werden auf GitHub gebaut; RPM wird versucht und hochgeladen, wenn es erzeugt wird.
Docker
• Docker Hub: T383838quad4io/meshchatx
• GHCR: T383838ghcr.io/quad4-software/meshchatx
T282828
docker compose up -d
T282828
docker run -d --name reticulum-meshchatx Tffea00\
--restart unless-stopped Tffea00\
--security-opt no-new-privileges:true Tffea00\
-p T79c0ff127.0.0.1:8000:8000 Tffea00\
-v meshchatx-config:/config Tffea00\
ghcr.io/quad4-software/meshchatx:latest
Sie koennen T383838quad4io/meshchatx:latest statt des GHCR-Images verwenden, wenn Sie Docker Hub bevorzugen.
Standard-Compose-Datei:
• T383838127.0.0.1:8000 auf dem Host -> Container-Port T3838388000
• Docker-Benanntes Volume T383838meshchatx-config -> T383838/config fuer Persistenz (passt zum Image-Benutzer meshchat, UID 1000, ohne Host-chown bei Bind-Mounts)
Optional: Host-Verzeichnis einbinden
Ersetzen Sie die Volume-Zeile durch T383838-v "$(pwd)/meshchat-config:/config" (Compose: T383838volumes-Eintrag des Service anpassen). Der Container laeuft als UID 1000; das Host-Verzeichnis muss dafuer beschreibbar sein (typisch: T383838sudo chown -R 1000:1000 ./meshchat-config). Leeres Verzeichnis vor dem ersten Start anlegen, damit Docker es nicht mit unpassenden Rechten erzeugt.
Named Volume pruefen oder loeschen
T282828
docker volume inspect meshchatx-config
docker rm -f reticulum-meshchatx
docker volume rm meshchatx-config
Installation aus Release-Artefakten
1) Linux AppImage (x64/arm64)
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.AppImage von den Releases herunterladen.
2. Ausfuehrbar machen und starten:
T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage
2) Debian/Ubuntu T383838.deb (x64/arm64)
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.deb herunterladen.
2. Installieren:
T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb
3) RPM-basierte Systeme
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.rpm herunterladen, falls im Release vorhanden.
2. Installieren:
T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm
4) Python Wheel (T383838.whl)
Release-Wheels enthalten die gebauten Web-Assets.
T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchatx --headless
T383838pipx wird ebenfalls unterstuetzt:
T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl
Aus Quellcode ausfuehren (Webserver-Modus)
Fuer Entwicklung oder lokale Custom-Builds.
T282828
git clone https://github.com/Quad4-Software/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm config Tffa657set verify-store-integrity Tffa657true
pnpm install --frozen-lockfile
pip install Ta5d6ff"uv==0.11.15"
uv lock --check
uv sync --group dev
pnpm run build-frontend
uv run python -m meshchatx.meshchat --headless --host T79c0ff127.0.0.1
Hinweise zu den Installationsbefehlen:
• T383838pnpm install --frozen-lockfile verweigert Aenderungen an T383838pnpm-lock.yaml und schlaegt fehl, wenn die Lockdatei nicht zu T383838package.json passt. Damit wird verhindert, dass eine unerwartete Upstream-Version still eingespielt wird.
• T383838verify-store-integrity=true ist auch in der projektweiten T383838pnpm-workspace.yaml gesetzt; die explizite T383838pnpm config set-Zeile haertet zusaetzlich die Benutzerkonfiguration.
• Lifecycle-Skripte (T383838preinstall/T383838postinstall) sind in pnpm v11+ standardmaessig blockiert. Nur die unter T383838allowBuilds in T383838pnpm-workspace.yaml aufgefuehrten Pakete duerfen Installationsskripte ausfuehren (aktuell T383838electron, T383838electron-winstaller, T383838esbuild).
• T383838uv lock --check schlaegt frueh fehl, wenn T383838uv.lock nicht mit T383838pyproject.toml synchron ist; T383838uv sync --group dev aufloest danach nur aus der Lockdatei.
• Fuer eine strikte Lockfile-Installation (ohne implizite Lock-Aktualisierung) Poetry mit T383838pip install "uv==0.11.15" pinnen, passend zur CI-Version.
Wenn Sie absichtlich Abhaengigkeiten aktualisieren wollen, fuehren Sie T383838pnpm update / T383838uv lock in einem dedizierten Commit aus und pruefen Sie das resultierende Lockdatei-Diff vor dem Push.
Sandboxing (Linux)
Um das native T383838meshchatx-Programm (Alias: T383838meshchat) mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie Firejail oder Bubblewrap (T383838bwrap) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, Poetry, Hinweise zu USB-Seriell) finden Sie in:
Dieselbe Seite erscheint in der in-app-Liste Dokumentation (MeshChatX-Dokumentation), wenn sie aus den gebuendelten oder synchronisierten T383838meshchatx-docs-Dateien ausgeliefert wird.
Linux-Desktop: Emoji-Schriften
Die Emoji-Auswahl rendert Standard-Unicode-Emoji mit den Systemschriften (Electron/Chromium). Wenn Emoji als leere Kaestchen („Tofu“) erscheinen, installieren Sie ein Farb-Emoji-Paket und starten Sie die App neu.
┌────────────────────────────┬──────────────────────────────────────────────────────────────────┐
│ Distribution (Beispiele) │ Paket │
├────────────────────────────┼──────────────────────────────────────────────────────────────────┤
│ Arch Linux, Artix, Manjaro │ T383838noto-fonts-emoji (T383838sudo pacman -S noto-fonts-emoji) │
│ Debian, Ubuntu │ T383838fonts-noto-color-emoji (T383838sudo apt install fonts-noto-color-emoji) │
│ Fedora │ T383838google-noto-emoji-color-fonts │
└────────────────────────────┴──────────────────────────────────────────────────────────────────┘
Nach der Installation bei Bedarf T383838fc-cache -fv ausfuehren. Optional: T383838noto-fonts fuer breitere Symbolabdeckung bei minimalen Installationen.
Desktop-Pakete aus Quellcode bauen
Diese Skripte sind in T383838package.json und T383838Taskfile.yml definiert.
Linux x64 AppImage + DEB
T282828
pnpm run dist:linux-x64
Linux arm64 AppImage + DEB
T282828
pnpm run dist:linux-arm64
RPM
T282828
pnpm run dist:rpm
Oder ueber Task:
T282828
task dist:fe:rpm
Container-Build (Wheel, AppImage, deb, rpm)
T383838Dockerfile.build fuehrt die gleichen Schritte wie die CI aus (Poetry, pnpm, T383838task, APT-Paketabhaengigkeiten). Ausgelegt auf linux/amd64 (NodeSource amd64, Task amd64). Standardziel ist alles; per Build-Arg ueberschreibbar.
Werte fuer T383838MESHCHATX_BUILD_TARGETS: T383838all (Standard), T383838wheel oder T383838electron (AppImage + deb fuer x64 und arm64, RPM best-effort, kein wheel).
Build:
T282828
docker build -f Dockerfile.build -t meshchatx-build:local .
Nur Wheel:
T282828
docker build -f Dockerfile.build --build-arg Te6edf3MESHCHATX_BUILD_TARGETSTff7b72=wheel -t meshchatx-build:wheel .
T383838/artifacts aus dem fertigen Image auf den Host kopieren:
T282828
Te6edf3cidTff7b72=Tff7b72$(docker create meshchatx-build:localTff7b72)
docker cp Ta5d6ff"Tffd700${Te6edf3cidTffd700}Ta5d6ff:/artifactsTa5d6ff" ./meshchatx-artifacts
docker rm Ta5d6ff"Tffd700${Te6edf3cidTffd700}Ta5d6ff"
Architekturunterstuetzung
• Docker-Image: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64 (Build-Skripte vorhanden)
• macOS: Build-Skripte vorhanden (T383838arm64, T383838universal) fuer lokale Build-Umgebungen
• Android: nur Universal-APK (siehe android/README.md)
Android
MeshChatX unterstuetzt native Android-APK-Builds (nicht nur Termux).
APKs aus Quellcode bauen
Vom Repository-Root:
T282828
T8b949e# 1) Chaquopy-Wheels gemaess android/app/build.gradle bauen
bash scripts/build-android-wheels-local.sh
T8b949e# 2) Universal-APK bauen (ein Debug + ein Release pro Lauf; siehe android/README.md)
Tffa657cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
Eine Android-Variante. Gradle synchronisiert den gesamten T383838meshchatx/-Ordner nach T383838app/src/main/python/meshchatx/, inklusive Offline-Repository-Raeder. Dokumentierte und veroeffentlichte Builds nutzen ausschliesslich Universal-Packaging: je ein Debug- und ein Release-APK pro Lauf, mit allen in T383838android/app/build.gradle gewaehlten nativen ABIs.
• Debug: T383838android/app/build/outputs/apk/debug/app-debug.apk
• Release: T383838android/app/build/outputs/apk/release/app-release-unsigned.apk
Hinweise:
• Release-Builds sind standardmaessig unsigniert, bis die Signatur konfiguriert ist (T383838scripts/sign-android-apks.sh).
• Die im Universal-APK enthaltenen nativen ABIs folgen T383838android/app/build.gradle (einschliesslich T383838armeabi-v7a, falls aktiviert). Das Bauen von Radern fuer T383838armeabi-v7a erfordert ein Android-SDK in T383838ANDROID_HOME (siehe T383838android/README.md).
• Existiert im Repo-Root T383838dist/reticulum_meshchatx-*.whl (z. B. nach T383838python -m build --wheel -o dist .), bevorzugt die Aktualisierung des Offline-Repositorys dieses Wheel gegueber PyPI. In der CI wird das Wheel vor dem Android-Gradle-Schritt gebaut.
Weitere Dokumentation:
Konfiguration
┌────────────────────────┬──────────────────────────────────────┬──────────────┬───────────────────┐
│ Argument │ Umgebungsvariable │ Standard │ Beschreibung │
├────────────────────────┼──────────────────────────────────────┼──────────────┼───────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Webserver-Bind-A… │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Webserver-Port │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ HTTPS deaktivier… │
│ T383838--ssl-cert / T383838--ssl-key │ T383838MESHCHAT_SSL_CERT / T383838MESHCHAT_SSL_KEY │ (keine) │ PEM-Zertifikat u… │
│ T383838--rns-log-level │ T383838MESHCHAT_RNS_LOG_LEVEL │ (keine) │ Reticulum (RNS) … │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ Browser nicht au… │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ Basis-Authentifi… │
│ T383838--reset-password │ T383838MESHCHAT_RESET_PASSWORD │ T383838false │ Gespeicherten Pa… │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ Datenverzeichnis │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ auto/bundled │ Frontend-Verzeic… │
└────────────────────────┴──────────────────────────────────────┴──────────────┴───────────────────┘
Branches
┌────────┬────────────────────────────────────────────────────────────────────────────────┐
│ Branch │ Zweck │
├────────┼────────────────────────────────────────────────────────────────────────────────┤
│ T383838master │ Stabile Releases. Nur produktionsreifer Code. │
│ T383838dev │ Aktive Entwicklung. Kann instabile oder unvollstaendige Aenderungen enthalten. │
└────────┴────────────────────────────────────────────────────────────────────────────────┘
Entwicklung
Gaengige Aufgaben aus T383838Taskfile.yml:
T282828
task install
task lint:all
task test:all
task build:all
T383838Makefile-Kurzformen:
┌──────────────┬───────────────────────────────────────────────┐
│ Befehl │ Beschreibung │
├──────────────┼───────────────────────────────────────────────┤
│ T383838make install │ pnpm- und Poetry-Abhaengigkeiten installieren │
│ T383838make run │ MeshChatX ueber Poetry starten │
│ T383838make build │ Frontend bauen │
│ T383838make lint │ eslint und ruff ausfuehren │
│ T383838make test │ Frontend- und Backend-Tests │
│ T383838make clean │ Build-Artefakte und node_modules entfernen │
└──────────────┴───────────────────────────────────────────────┘
Versionierung
Aktuelle Version in diesem Repository: T3838384.7.1.
• Fuer Release-Bumps bearbeiten Sie nur T383838version in T383838package.json.
• T383838pnpm run version:sync (wird auch zu Beginn von T383838pnpm run build ausgefuehrt) verbreitet diese Version in T383838pyproject.toml, T383838meshchatx/src/version.py, T383838THIRD_PARTY_NOTICES.txt (Produktzeile), README / lang/README.\* (Zeilen mit aktueller Version), T383838docs/meshchatx_on_raspberry_pi.md (pipx-Beispiel) und Hilfsfelder in T383838packaging/arch/PKGBUILD.
• T383838meshchatx.__version__ wird aus T383838meshchatx/src/version.py gelesen, ohne T383838meshchatx.src zu importieren, damit ein normales T383838import meshchatx leicht bleibt.
• Changelog-Eintrage bleiben beim Release manuell.
Sicherheit
• LEGAL.md
• Eingebaute Integritaetspruefungen und HTTPS/WSS-Standardwerte in der App-Laufzeit.
• CI- und Release-Builds in GitHub Actions.
Sprache hinzufuegen
Arbeitsablauf des Autors: ArgosTranslate, dann lokales LLM (Qwen 3 + Gemma 4).
Korrekturen von der Community sind willkommen, per LXMF oder wo Sie erreichbar sind.
Die Locale-Erkennung erfolgt automatisch. Fuegen Sie Dateien unter T383838meshchatx/src/frontend/locales/ hinzu (z. B. T383838xx.json) mit denselben Schluesseln wie T383838en.json und oberstes T383838_languageName fuer die Sprachauswahl. Sie koennen T383838en.json kopieren und alles manuell uebersetzen; maschinenunterstuetzte Erzeugung (optional) ist niemals erforderlich.
Optional: Argos-Translate-Start: fuer einen Entwurf aus T383838en.json koennen Sie T383838scripts/argos_translate.py nutzen; es behandelt Formatierung, farbige Ausgabe und schuetzt z. B. T383838{count}.
T282828
T8b949e# argostranslate ggf. installieren
pipx install argostranslate
T8b949e# Uebersetzungsskript ausfuehren
python scripts/argos_translate.py --from en --to xx --input meshchatx/src/frontend/locales/en.json --output meshchatx/src/frontend/locales/xx.json --name Ta5d6ff"Ihr Sprachname"
Nach jeder maschinellen Runde Grammatik, Kontext und Ton (formell vs. informell) mit LLM oder Mensch pruefen.
T383838pnpm test -- tests/frontend/i18n.test.js --run prueft die Schluesselparitaet mit T383838en.json.
Keine weiteren Code-Aenderungen noetig. App, Sprachwahl und Tests lesen Locales zur Build-Zeit aus T383838meshchatx/src/frontend/locales/.
Spenden
Spenden sind freiwillig. Sie helfen, Zeit und Aufwand fuer die Entwicklung dieser App zu finanzieren.
Moeglichkeiten: donate.md (Monero, Ko-Fi, Buy Me a Coffee).
Mitwirkende
• Liam Cottle - Originales Reticulum MeshChat
• RFnexus - micron-Parser (JavaScript)
• markqvist - Reticulum, LXMF, LXST
Lizenz
Die projekt-eigenen Anteile stehen unter 0BSD.
Urspruengliche Upstream-Anteile von Reticulum MeshChat bleiben unter MIT.
Vollstaendiger Text und Hinweise in ../LICENSE.
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────